#ifndef _ATADRIVE_H_
#define _ATADRIVE_H_

#include "integer.h"

#ifdef __cplusplus
extern "C" {
#endif

/* #define __DEBUG__ */
#ifdef __DEBUG__  
	#define DEBUG(format,...) printf("File: "__FILE__", Line: %05d: "format"\n", __LINE__, ##__VA_ARGS__)  
#else  
	#define DEBUG(format,...)  
#endif  

extern int ATA_disk_status(void);
extern int ATA_disk_initialize(void);
extern int ATA_disk_read(
						BYTE *buff,		/* Data buffer to store read data */
						DWORD sector,	/* Sector address in LBA */
						UINT count		/* Number of sectors to read */
						);
extern int ATA_disk_write(
						const BYTE *buff,		/* Data buffer to store read data */
						DWORD sector,	/* Sector address in LBA */
						UINT count		/* Number of sectors to read */
						);
extern int ATA_disk_ioctl(
						BYTE cmd,		/* Control code */
						void *buff		/* Buffer to send/receive control data */
						);


#ifdef __cplusplus
}
#endif

#endif

